package threadsAssign3; import java.io.*; import java.awt.Desktop; public class EventsLog { private static final String FILE_PATH = "Log.txt"; private static EventsLog instance; private static PrintWriter out; private EventsLog() { try { out = new PrintWriter(new FileWriter(FILE_PATH)); out.println("Simulation started"); } catch (Exception e) { e.printStackTrace(); } } public static void initialize(){ if (instance == null) instance = new EventsLog(); } public static void log(String string){ out.println(Simulator.getCurrentTime() + ": " + string); } public static void close(float averageWaitingTime, float serviceTime, int peakHour){ out.println("Simulation ended"); out.println(String.format("Average waiting time: %f; Service time: %f; Peak hour: %d", averageWaitingTime, serviceTime, peakHour)); out.close(); try { Desktop.getDesktop().open(new File(FILE_PATH)); } catch (IOException e) { e.printStackTrace(); } instance = null; } public static void close(){ out.close(); instance = null; } }